home *** CD-ROM | disk | FTP | other *** search
/ Mac Expert 2 / Mac_Expert_2.iso / Applications / Fontographer® 4.0.2 / Disk 2 / PC Font Access / PC Font Access.rsrc / STR#_6011.txt < prev    next >
Encoding:
Text File  |  1993-06-17  |  2.3 KB  |  143 lines

  1. /BuildChar{^8 begin exch begin HD begin BC2 end end end}B
  2.  
  3. {233 sub UVec exch get exec}ifelse}ifelse}B
  4.  
  5. /UCS{dup 200 lt{100 sub}{dup 233 lt{216 sub 100 mul add}
  6.  
  7. {100 mul add}{100 mul}{100 div}{closepath}{Sstrk}{Sg}{VVec exch get exec}]def
  8.  
  9. {ShowInt}{setlinecap}{setlinejoin}{gsave}{[}{Fill}{Eofill}{stroke}{SetWid}
  10.  
  11. /UVec[{LXY moveto}{LXY lineto}{LXY3 curveto}{ShowExt}{]concat}{Cache}{setlinewidth}
  12.  
  13. /VVec[{moveto}{lineto}{curveto}{/xW sRV}{/yW sRV}{/xB sAV}{/yB sAV}{/xE sAV}{/yE sAV}]def
  14.  
  15. counttomark 1 sub array astore val X pop pop}B
  16.  
  17. 0 exch{1 index add}forall
  18.  
  19. /sRV{/val X counttomark array astore
  20.  
  21. /sAV{/val X counttomark array astore val X pop}B
  22.  
  23. 6 2 roll dy add exch dx add exch R2A 6 2 roll R2A 6 2 roll}B
  24.  
  25. LXY 2 copy unY sub dy sub /dy X unX sub dx sub /dx X
  26.  
  27. /LXY3{unX neg unY neg R2A /dy X /dx X
  28.  
  29. /R2A{currentpoint 3 -1 roll add 3 1 roll add exch}B
  30.  
  31. exch xW exch get exch yW exch get}B
  32.  
  33. /LXY{xWO 2 index get /unX X yWO 1 index get /unY X
  34.  
  35. /SetWid{NL 0 eq{0 setcharwidth setgray}{pop setgray}ifelse Hsetup}B
  36.  
  37. {6{pop}repeat}ifelse Hsetup}B
  38.  
  39. {4 copy /ury X /urx X /lly X /llx X setcachedevice/Sg{pop}store}
  40.  
  41. /Cache{NL 0 eq
  42.  
  43. end
  44.  
  45. }B
  46.  
  47. 0 1 yW length 1 sub{yW exch yW 1 index get D2WY mul put}for
  48.  
  49. yW bi get add put}for
  50.  
  51. dup 0 lt{.001 sub}if round
  52.  
  53. yWO ei get yWO bi get sub W2DY mul
  54.  
  55. 0 1 yB length 1 sub{/i X yB i get /bi X yE i get /ei X yW ei
  56.  
  57. 0 1 yW length 1 sub{yW exch yW 1 index get W2DY mul dr put}for
  58.  
  59. /yWO yW dup length array copy def
  60.  
  61. 0 1 xW length 1 sub{xW exch xW 1 index get D2WX mul put}for
  62.  
  63. xW bi get add put}for
  64.  
  65. dup 0 lt{.001 sub}if round
  66.  
  67. xWO ei get xWO bi get sub W2DX mul
  68.  
  69. 0 1 xB length 1 sub{/i X xB i get /bi X xE i get /ei X xW ei
  70.  
  71. 0 1 xW length 1 sub{xW exch xW 1 index get W2DX mul dr put}for
  72.  
  73. /xWO xW dup length array copy def
  74.  
  75. /D2WY 1 W2DY div def
  76.  
  77. /W2DY 0 1 dtransform dist def
  78.  
  79. /D2WX 1 W2DX div def
  80.  
  81. /W2DX 1 0 dtransform dist def
  82.  
  83. /Hsetup{
  84.  
  85. /dr{dup 0 lt{.25 add round .25 sub}{.25 sub round .25 add}ifelse}B
  86.  
  87. /dist{dup mul exch dup mul add sqrt}B
  88.  
  89. /X{exch def}B
  90.  
  91. /ei 0 def
  92.  
  93. /bi 0 def
  94.  
  95. /i 0 def
  96.  
  97. /ury 0 def
  98.  
  99. /urx 0 def
  100.  
  101. /lly 0 def
  102.  
  103. /llx 0 def
  104.  
  105. /yE[]def
  106.  
  107. /yB[]def
  108.  
  109. /yW[]def
  110.  
  111. /yWO[]def
  112.  
  113. /xE[]def
  114.  
  115. /xB[]def
  116.  
  117. /xW[]def
  118.  
  119. /xWO[]def
  120.  
  121. /D2WY 0 def
  122.  
  123. /W2DY 0 def
  124.  
  125. /D2WX 0 def
  126.  
  127. /W2DX 0 def
  128.  
  129. /HD 30 dict def HD begin
  130.  
  131. grestore}B
  132.  
  133. restore
  134.  
  135. BC2
  136.  
  137. /NL NL 1 add store
  138.  
  139. save exch mark /xB sAV mark /yB sAV
  140.  
  141. /ShowInt{
  142.  
  143.